/**
 * @projectDescription Arquivo com as funcoes JavaScript do Projeto Vivencias.
 * @author Vinícius Lima Ribeiro
 * @author Diego Costa Xavier
 * @version 0.1
 */

/* Documentacao usando ScriptDoc */
 
 /*
  *	VARIAVEIS GLOBAIS DE CONFIGURACAO E ESTILIZACAO
  */
	var larguraSite			=	736;
	var	dimensoesCaixas		=	{largura: 230,			altura: 150,
								 larguraExpandida: 490, alturaExpandida: 450,
								 titulo: 20,			margemTitulo: 195};
	var	margemCaixas		=	{esquerda: 10, topo: 10};
	var arrayCaixas			= 	new Array();
 	var timeout				=	new Array();
 	var	ie					=	document.all;
 	var	firefox				=	document.getElementById && !document.all;
 	var contadorExpandir		=	0;
 	
 	window.onresize			=	function onresize (event) {javscript: estiliza(true)};
 	
 	/*
 	 * FIM DAS VARIAVEIS GLOBAIS
 	 */

/**
 * Retorna um objeto com as dimensoes da Janela do Browser do usuario.
 * @return {Object} Objeto com as dimensoes largura e altura da tela.
 */


function tamanhoTela() {
	
	var larguraTela	=	0;
	var alturaTela	=	0;
	
	larguraTela		=	window.innerWidth	|| document.documentElement.clientWidth;
	alturaTela		=	window.innerHeight	|| document.documentElement.clientHeight;
	
	return {
		largura:	larguraTela,
		altura:		alturaTela
	};
}

/**
 * Estiliza o site quando e carregado ou a cada vez que o usuario redimensiona o browser.
 * @param {boolean}	resize	Indica se o browser foi redimensionado.
 */

function estiliza(resize) {
	var	tela;
	var	site;
	var i;
	var linha			=	0;
	var	esq				=	0;
	var	topo			=	0;
	var largura			=	0;
	var altura			=	0;
	var margemTitulo	=	0;
	var listaTitulo;
	var caixaAtual;
	
	
	/* Estilizacao da divSite (margin: auto) */
	tela	=	tamanhoTela();
	site	=	document.getElementById("divSite");
	
	site.style.width	=	larguraSite + "px";
	
	esq		=	(parseInt(tela.largura) / 2) - (parseInt(site.style.width) / 2);
	site.style.left	=	esq + "px";
	
	/* Estilizacao das Caixas (float:left) */
	for (i	=	0; i < ordem.length; i++) {
		caixaAtual		=	document.getElementById("div" + ordem[i]);
		arrayCaixas[i]	=	caixaAtual;
		
		largura			=	dimensoesCaixas.largura;
		altura			=	dimensoesCaixas.altura;
		margemTitulo	=	dimensoesCaixas.margemTitulo;
		caixaAtual.style.overflow	=	"hidden";
		
		var filhos	=	caixaAtual.childNodes;
		
		for(var j=0; j<filhos.length; j++) {
			if (filhos[j].className == "tituloCaixas") {
				var titulo	=	filhos[j];
				
				for(var k=0; k<titulo.childNodes.length; k++) {
					if (titulo.childNodes[k].tagName == "UL") {
						listaTitulo	=	titulo.childNodes[k];
						//listaTitulo.style.marginLeft	=	dimensoesCaixas.margemTitulo + "px";
					}
				}
			}
		}
		
		esq = ((i % 3) + 1) * margemCaixas.esquerda + (i % 3) * dimensoesCaixas.largura;
		
		if (!resize) {
			if (i%3 == 0) {
				topo	=	linha * margemCaixas.topo + linha * dimensoesCaixas.altura;
				linha++;
			}
		}
		else {
			topo			=	parseInt(caixaAtual.style.top);
			esq				=	parseInt(caixaAtual.style.left);
			largura			=	parseInt(caixaAtual.style.width);
			altura			=	parseInt(caixaAtual.style.height);
			margemTitulo	=	parseInt(listaTitulo.style.marginLeft);
		}
		
		caixaAtual.style.width			=	largura + "px";
		caixaAtual.style.height			=	altura + "px";
		caixaAtual.style.top			=	topo + "px";
		caixaAtual.style.left			=	esq + "px";
		listaTitulo.style.marginLeft	=	margemTitulo + "px";
	}
	
}

/**
 * Maximiza ou Minimiza a caixa que foi clicada.
 * @param {Anchor} botao	Ancora do HTML da caixa que foi clicada.
 */

function maxMin(botao) {
	
	var caixa;
	var i = 0;
	var coluna;
	var afeta	=	false;
	var botoes;
	var animou	=	false;
	
	caixa	=	botao;
	
	if (botao.className == "minimiza") {
		
		for(i = 0; i < 4; i++) {
			caixa = caixa.parentNode;
		}
		
		var filhos = caixa.childNodes;
		
		for(var i=0; i<filhos.length; i++) {
			if (filhos[i].className == "tituloCaixas") {
					filhos[i].style.border = "none";
			}
			if (filhos[i].className == "menuCaixas") {
					filhos[i].style.display = "none";
			}
		}
		caixa.style.height 	= dimensoesCaixas.titulo + "px";
		botao.className		= "maximiza";
		
		for(i=0; i<ordem.length; i++) {
			if ((coluna == i % 3) && (afeta)) {
				var afetada	=	document.getElementById("div" + ordem[i]);
				var topo	=	parseInt(afetada.style.top);
				topo 		-= dimensoesCaixas.altura - dimensoesCaixas.titulo;
				
				ativaBotoes(false);
				timeout[i]	=	setInterval("animaMaxMin('" + afetada.id + "', '', 2, " + topo + ", true," + i + ")", 10);
				//afetada.style.top	=	topo + "px";
			}
			if (caixa.id == "div" + ordem[i]) {
				coluna	=	i % 3;
				afeta	=	true;
			}
		}
		
	} else {
		
		for(i = 0; i < 4; i++) {
			caixa = caixa.parentNode;
		}
		
		var filhos = caixa.childNodes;
		
		botao.className		= "minimiza";
		
		for(i=0; i<ordem.length; i++) {
			if ((coluna == i % 3) && (afeta)) {
				var afetada	=	document.getElementById("div" + ordem[i]);
				var topo	=	parseInt(afetada.style.top);
				topo 		+=	dimensoesCaixas.altura - dimensoesCaixas.titulo;
				
				ativaBotoes(false);
				timeout[i]	=	setInterval("animaMaxMin('" + afetada.id + "', '" + caixa.id + "', 2, " + topo + ", false," + i + ")", 10);
				animou		=	true;
				
				/*afetada.style.top	=	topo + "px";*/
			}
			if (caixa.id == "div" + ordem[i]) {
				coluna	=	i % 3;
				afeta	=	true;
			}
		}
		
		if (!animou) {
			caixa.style.height 	= dimensoesCaixas.altura + "px";

			for(var i=0; i<filhos.length; i++) {
				if (filhos[i].className == "tituloCaixas") {
						filhos[i].style.borderBottom = "1px solid #787878";
				}
				if (filhos[i].className == "menuCaixas") {
						filhos[i].style.display = "block";
				}
			}
		}
	}
}

/**
 * Timeout que anima as caixas que estao abaixo de uma caixa que foi clicada para ser maximizada ou minimizada.
 * @param {String}	id 				O id da caixa que sera animada.
 * @param {String}	idCaixaSuperior	O id da caixa que foi clicada.
 * @param {Integer}	pixels			A quantidade de pixels que a caixa a ser animada deve andar a cada frame.
 * @param {Integer}	destino			O destino vertical que a caixa a ser animada deve atingir.
 * @param {Boolean}	sobe				Se a caixa a ser animada deve subir (true) ou descer (false).
 * @param {Integer}	numTimeout		O numero do Timeout que ativou a animacao.
 */

function animaMaxMin (id, idCaixaSuperior, pixels, destino, sobe, numTimeout) {
	var objeto			=	document.getElementById(id);
	var topo			=	parseInt(objeto.style.top);
	
	if (sobe) {
		topo 				-=	pixels;
		objeto.style.top	=	topo + "px";
		
		if (topo == destino) {
			clearTimeout(timeout[numTimeout]);
			ativaBotoes(true);
		}
	} else {
		
		var caixaSuperior	=	document.getElementById(idCaixaSuperior);
		var filhos			=	caixaSuperior.childNodes;
		
		topo 				+=	pixels;
		objeto.style.top	=	topo + "px";
		
		if (topo == destino) {
			clearTimeout(timeout[numTimeout]);
			ativaBotoes(true);
			
			caixaSuperior.style.height 	= dimensoesCaixas.altura + "px";

			for(var i=0; i<filhos.length; i++) {
				if (filhos[i].className == "tituloCaixas") {
						filhos[i].style.borderBottom = "1px solid #787878";
				}
				if (filhos[i].className == "menuCaixas") {
						filhos[i].style.display = "block";
				}
			}
		}
	}
}

/**
 * Controla se os botoes de Maximizar, Minimizar e Expandir estarao ativos ou nao.
 * @param {Boolean}	ativa	Se true: ativa, caso contrario, desativa os onclicks.
 */

function ativaBotoes(ativa) {
	var ancoras	=	document.getElementsByTagName("A");
	
	for(var i=0; i<ancoras.length; i++) {
		if (ancoras[i].className == "minimiza" || ancoras[i].className == "maximiza") {
			if (ativa) {
				ancoras[i].onclick	=	function onclick(event) { javascript:maxMin(this); };
			} else {
				ancoras[i].onclick	=	function() {}
			}
		}
		
		if (ancoras[i].className == "expandir" || ancoras[i].className == "expandido") {
			if (ativa) {
				ancoras[i].onclick	=	function onclick(event) { javascript:controlaExpandir(this); };
			} else {
				ancoras[i].onclick	=	function() {}
			}
		}
	}
}

/**
 * Controla se uma caixa deve ser expandida ou desexpandida.
 * @param {Anchor} botao Botao da caixa que foi clicada.
 */

function controlaExpandir (botao) {
	if (botao.className == "expandir") {
		expandir(botao);
	}
	else {
		desexpandir(botao);
	}
}

/**
 * Realiza a expansao de uma caixa.
 * @param {Anchor} botao	Botao de expandir da caixa a ser expandida.
 */

function expandir (botao) {
	var caixa;
	var caixasMinimizadas	=	0;
	var topoDestino			=	0;
	var	esquerdaDestino		=	margemCaixas.esquerda;
	var ancoras				= 	document.getElementsByTagName("A");
	var topo				=	0;
	var esquerda			=	0;
	var quadros				=	100;
	var titulo;
	var lista;
	
	var	avisos	=	document.getElementById("menuComunicacaoAvisos");
	for(var i=0; i<avisos.childNodes.length; i++) {
		if (avisos.childNodes[i].tagName == "A") {
			avisos.childNodes[i].style.marginTop	=	"0px";
		}
	}
	
	caixa	=	botao;
	
	for(var i=0; i<4; i++) {
		caixa	=	caixa.parentNode;
	}
	
	ativaBotoes(false);
	
	for(var i=0; i<ancoras.length; i++) {
		if (ancoras[i].className == "maximiza" || ancoras[i].className == "minimiza")
			ancoras[i].className	=	"maximizaInativo";
	}
	
	for(var i=0; i<arrayCaixas.length; i++) {
		
		if (caixa.id != arrayCaixas[i].id) {
			
			

			var filhos = arrayCaixas[i].childNodes;
		
			for(var j=0; j<filhos.length; j++) {
				if (filhos[j].className == "tituloCaixas") {
						filhos[j].style.border = "none";
				}
				if (filhos[j].className == "menuCaixas") {
						filhos[j].style.display = "none";
				}
			}
			
			arrayCaixas[i].style.zIndex	=	"1";
			arrayCaixas[i].style.height	=	dimensoesCaixas.titulo + "px";
			topo		=	parseInt(arrayCaixas[i].style.top);
			esquerda	=	parseInt(arrayCaixas[i].style.left);
			
			topoDestino	=	caixasMinimizadas * margemCaixas.topo + caixasMinimizadas * dimensoesCaixas.titulo;
			esquerdaDestino	=	margemCaixas.esquerda;
			
			var velocidadeX	=	(esquerdaDestino - esquerda) / quadros;
			var velocidadeY	=	(topoDestino - topo) / quadros;
			
			if (velocidadeY < 1 && velocidadeY > 0) velocidadeY = 1;
			if (velocidadeY > -1 && velocidadeY < 0) velocidadeY = -1;
			
			timeout[i]	=	setInterval("animaExpandir('" + arrayCaixas[i].id + "', '', false, " + velocidadeX + ", " + velocidadeY + ", " + topoDestino + ", " + esquerdaDestino + ", true, " + i + ")", 10);
			
			caixasMinimizadas++;
		}
		else {

			caixa.style.height	=	dimensoesCaixas.titulo + "px";
			caixa.style.zIndex	=	"0";
			
			var filhos = caixa.childNodes;
		
			for(var j=0; j<filhos.length; j++) {
				if (filhos[j].className == "tituloCaixas") {
						filhos[j].style.borderBottom	=	"none";
						titulo	=	filhos[j];
				}
				if (filhos[j].className == "menuCaixas") {
						filhos[j].style.display	=	"none";
				}
			}
			
			topo		=	parseInt(caixa.style.top);
			esquerda	=	parseInt(caixa.style.left);
			
			topoDestino	=	0;
			esquerdaDestino	=	margemCaixas.esquerda * 2 + dimensoesCaixas.largura;
			
			var velocidadeX	=	(margemCaixas.esquerda * 2 + dimensoesCaixas.largura - esquerda) / quadros;
			var velocidadeY	=	(topoDestino - topo) / quadros;
			timeout[i]	=	setInterval("animaExpandir('" + caixa.id + "', '" + titulo.id + "', true, " + velocidadeX + ", " + velocidadeY + ", " + topoDestino + ", " + esquerdaDestino + ", true, " + i + ")", 10);
		}
	}
	botao.className	=	"expandido";
}

/**
 * Anima a expansao de uma caixa e o posicionamento das caixas restantes.
 * @param {String} 	idCaixa		O id da caixa a ser animada.
 * @param {String}	idTitulo	O id do titulo a ser animado.
 * @param {Boolean} expande		Se a caixa deve ser expandida ou reposicionada.
 * @param {Integer} velocidadeX	Velocidade no eixo X de movimentacao da caixa.
 * @param {Integer} velocidadeY	Velocidade no eixo Y de movimentacao da caixa.
 * @param {Integer} destinoY	Destino final no eixo Y da caixa.
 * @param {Boolean} expandir	Determina se esta ocorrendo expansao ou desexpansao.
 * @param {Integer} numTimeout	Numero da Timeout criada.
 */

function animaExpandir (idCaixa, idTitulo, expande, velocidadeX, velocidadeY, destinoY, destinoX, expandir, numTimeout) {
	var caixa		=	document.getElementById(idCaixa);
	var esquerda	=	parseInt(caixa.style.left);
	var topo		=	parseInt(caixa.style.top);
	var velocidade	=	{x: velocidadeX, y: velocidadeY};
	
	if (expande) {
		
		if (esquerda == destinoX) velocidade.x = 0;
		if (topo == destinoY) velocidade.y = 0;
		
		esquerda	+=	velocidade.x;
		topo		+=	velocidade.y;
		
		if ((esquerda == destinoX) && (topo == destinoY)) {
			timeout['alargaH']	=	setInterval("alargaH('" + caixa.id + "', '" + idTitulo + "', 4, true, 'alargaH')", 10);
			clearTimeout(timeout[numTimeout]);
		}

		caixa.style.left	=	esquerda + "px";
		caixa.style.top		=	topo + "px";
		
	} else {
		
		if (esquerda == destinoX) velocidade.x = 0;
		if (topo == destinoY) velocidade.y = 0;
		
		esquerda	+=	velocidade.x;
		topo		+=	velocidade.y;
		
		if (expandir) {
			if ((esquerda == destinoX) && (topo == destinoY)) {
				clearTimeout(timeout[numTimeout]);
			}
		} else {
			if ((esquerda == destinoX) && (topo >= destinoY)) {
				clearTimeout(timeout[numTimeout]);
				
				contadorExpandir++;
				
				if (contadorExpandir == 7) {
					
					estiliza(false);

					for(var i=0; i<arrayCaixas.length; i++) {
						var caixaAtual	=	arrayCaixas[i];
						
						var filhos 		=	caixaAtual.childNodes;
						
						for(var j=0; j<filhos.length; j++) {
							if (filhos[j].className == "tituloCaixas") {
								filhos[j].style.borderBottom	=	"1px solid #787878";
							}
							if (filhos[j].className == "menuCaixas") {
								filhos[j].style.display	=	"block";
								filhos[j].style.width	=	dimensoesCaixas.largura + "px";
								filhos[j].style.height	=	(dimensoesCaixas.altura - dimensoesCaixas.titulo) + "px";
								
								var menu	=	filhos[j];
								
								for(var k=0; k<menu.childNodes.length; k++) {
									if (menu.childNodes[k].tagName == "UL") {
												
										for(var l=0; l<menu.childNodes[k].childNodes.length; l++) {
											if (menu.childNodes[k].childNodes[l].tagName == "LI") {
												ie ? menu.childNodes[k].childNodes[l].style.styleFloat = "none" : menu.childNodes[k].childNodes[l].style.cssFloat = "none";
												
												//menu.childNodes[k].childNodes[l].style.marginLeft	=	"10px";
											}
										}
									}
								}
							}
						}
						
						caixaAtual.style.height	=	dimensoesCaixas.altura + "px";
					}
					
					contadorExpandir	=	0;
					ativaBotoes(true);
				}
			}	
		}

		
		caixa.style.left	=	esquerda + "px";
		caixa.style.top		=	topo + "px";
	}

	
}

/**
 * alargaH 	Alarga a caixa a ser expandida.
 * @param	{String} 	idCaixa		O id da caixa a ser expandida.
 * @param	{String}	idTitulo	O id do titulo a ser expandido.
 * @param 	{Integer}	pixels		A quantidade de pixels a ser andada.
 * @param 	{Boolean} 	expandir	Determina se esta ocorrendo expansao ou desexpansao.
 * @param	{String}	numTimeout	O id do Timeout que controla a funcao.
 */

function alargaH(idCaixa, idTitulo, pixels, expandir, numTimeout) {
	
	var caixa			=	document.getElementById(idCaixa);
	var	largura			=	parseInt(caixa.style.width);
	var titulo			=	document.getElementById(idTitulo);
	var lista;
	var margemLista;
	var menu;
	var quadros			=	100;
	var esquerda		=	0;
	var esquerdaDestino	=	0;
	var	topo			=	0;
	var topoDestino		=	0;
	
	for(var i=0; i<titulo.childNodes.length; i++) {
		if (titulo.childNodes[i].tagName == "UL") {
			lista	=	titulo.childNodes[i];
		}
	}
	
	margemLista	=	parseInt(lista.style.marginLeft);
	
	largura 				+=	pixels;
	caixa.style.width		=	largura + "px";
	
	margemLista				+=	pixels;
	lista.style.marginLeft	=	margemLista + "px";
	

	if (expandir) {
		if (largura >= dimensoesCaixas.larguraExpandida) {
			clearTimeout(timeout[numTimeout]);
				 
				 for(var i=0; i<caixa.childNodes.length; i++) {
				 	if (caixa.childNodes[i].className == "menuCaixas") {
				 		menu							=	caixa.childNodes[i];
				 		menu.style.height				=	(dimensoesCaixas.alturaExpandida	-	dimensoesCaixas.titulo) + "px";
				 		menu.style.width				=	dimensoesCaixas.larguraExpandida + "px";
				 		menu.style.backgroundColor		=	selecionaCor(caixa.id);
				 		menu.style.backgroundRepeat		= 	"no-repeat";
				 		menu.style.backgroundPosition	=	"bottom right";
				 		menu.style.display				=	"block";
				 		
				 		for(var j=0; j<menu.childNodes.length; j++) {
				 			if (menu.childNodes[j].tagName == "UL") {
				 				for(var k=0; k<menu.childNodes[j].childNodes.length; k++) {
				 					if (menu.childNodes[j].childNodes[k].tagName == "LI") {
				 						ie ? menu.childNodes[j].childNodes[k].style.styleFloat	=	"left" : menu.childNodes[j].childNodes[k].style.cssFloat	=	"left";
				 					}
				 				}
				 			}
				 		}
				 	}
				 }
				 
			 titulo.style.borderBottom	=	"1px solid #787878";
			 timeout['alargaV']	=	setInterval("alargaV('" + caixa.id + "', '" + menu.id +"', 5, true, 'alargaV')", 10);
		}
	} else {
		if (largura <= dimensoesCaixas.largura) {
			clearTimeout(timeout[numTimeout]);
			
			var caixaAtual;
			var	linha		=	0;
			var velocidadeX	=	0;
			var velocidadeY	=	0
			
			for(var i=0; i<arrayCaixas.length; i++) {
				caixaAtual	=	arrayCaixas[i];
				
				esquerda	=	parseInt(caixaAtual.style.left);
				topo		=	parseInt(caixaAtual.style.top);
				
				esquerdaDestino	=	((i % 3) + 1) * margemCaixas.esquerda + (i % 3) * dimensoesCaixas.largura;
				
				if (i % 3 == 0) {
					topoDestino	=	linha * (margemCaixas.topo + dimensoesCaixas.altura);
					linha++;
				}
				
				velocidadeX	=	(esquerdaDestino - esquerda) / quadros;
				velocidadeY	=	(topoDestino - topo) / quadros;
				
				if (velocidadeX > -1 && velocidadeX < 0) velocidadeX 	= 	-1;
				if (velocidadeX < 1 && velocidadeX > 0) velocidadeX 	= 	1;
				if (velocidadeY > -1 && velocidadeY < 0) velocidadeY 	= 	-1;
				if (velocidadeY < 1 && velocidadeY > 0) velocidadeY 	= 	1;
				
				timeout[i]	=	setInterval("animaExpandir('" + caixaAtual.id + "', '" + titulo.id + "', false, " + velocidadeX + ", " + velocidadeY + ", " + topoDestino + ", " + esquerdaDestino + ", false, " + i + ")", 10);
			}
		}
	}
}

/**
 * alargaV
 * @param {String}	idCaixa 	O id da Caixa a ser animada.
 * @param {String}	idMenuCaixa	O id do menu da caixa.
 * @param {Integer}	pixels		A quantidade de pixels a ser andada.
 * @param {Boolean} expandir	Determina se esta ocorrendo expansao ou desexpansao.
 * @param {String}	numTimeout	Identificacao do timeout.
 */
 function alargaV(idCaixa, idMenuCaixa, pixels, expandir, numTimeout) {
 	var	caixa		= 	document.getElementById(idCaixa);
 	var	titulo;
 	var	alturaCaixa	=	parseInt(caixa.style.height);
 	var pixelsH		=	-4;
 	
 	alturaCaixa		+=	pixels;
 	
 	caixa.style.height	=	alturaCaixa + "px";
 	
	if (expandir) {
	 	if (alturaCaixa >= dimensoesCaixas.alturaExpandida)	{
 		clearTimeout(timeout[numTimeout]);
 		
 		var ancoras		= 	document.getElementsByTagName("A");
 		
 		for(var i=0; i<ancoras.length; i++) {
 			if (ancoras[i].className == "expandido") {
 				 		ancoras[i].onclick	=	function onclick(event) { javascript:controlaExpandir(this); };
 			}
 		}
 	}
	} else {
		if (alturaCaixa <= dimensoesCaixas.titulo) {
			clearTimeout(timeout[numTimeout]);
			
			var filhos	=	caixa.childNodes;
			
			for(var i=0; i<filhos.length; i++) {
				if (filhos[i].className == "tituloCaixas") {
					titulo	=	filhos[i];
				}
			}
			
			timeout['alargaH']	=	setInterval("alargaH('" + caixa.id + "', '" + titulo.id + "', " + pixelsH + ", false, 'alargaH')", 10);
		}
	}

 }
 
 function desexpandir (botao) {
	var caixa;
	var menu;
	var	pixels				=	-5;
	var ancoras				= 	document.getElementsByTagName("A");
	var quadros				=	100;
	
	/*var	avisos	=	document.getElementById("menuComunicacaoAvisos");
	for(var i=0; i<avisos.childNodes.length; i++) {
		if (avisos.childNodes[i].tagName == "A") {
			avisos.childNodes[i].style.marginTop	=	"0px";
		}
	}*/
	
	caixa	=	botao;
	
	for(var i=0; i<4; i++) {
		caixa	=	caixa.parentNode;
	}
	
	ativaBotoes(false);
	
	for(var i=0; i<ancoras.length; i++) {
		if (ancoras[i].className == "maximizaInativo")
			ancoras[i].className	=	"minimiza";
	}
	
	for(var i=0; i<caixa.childNodes.length; i++) {
		if (caixa.childNodes[i].className == "menuCaixas") {
			menu	=	caixa.childNodes[i];
		}
	}
	
	timeout['alargaV']	=	setInterval("alargaV('" + caixa.id + "', '" + menu.id + "', " + pixels + ", false, 'alargaV')", 10);
	
	botao.className	=	"expandir";
}

/**
 * selecionaCor Seleciona a cor de fundo de uma caixa.
 * @param {String} id Id da caixa para a cor ser selecionada.
 */

function selecionaCor (id) {
	switch (id) {
		case	'divAulas':
			return ie ? "#BDADBC" : "#C4B5C3";
			break;
			
		case	'divDepoimentos':
			return ie ? "#D6D775" : "#DADB80";
			break;
			
		case	'divComunicacao':
			return ie ? "#BBBEDA" : "#C2C4DE";
			break;
			
		case	'divApoio':
			return ie ? "#9ED49E" : "#A7D9A7";
			break;
			
		case	'divParticipantes':
			return ie ? "#F8C37C" : "#F9C986";
			break;
			
		case	'divInformacoes':
			return ie ? "#F8C4B3" : "#F9CABA";
			break;
			
		case	'divGerencia':
			return ie ? "#C1C0BF" : "#C7C6C5";
			break;
	}
}